from collections import OrderedDict

from django.shortcuts import render
from django.views import View

from apps.contents.models import ContentCategory
from apps.contents.utils import get_categories
from apps.goods.models import GoodsChannel


class IndexView(View):

    def get(self,request):

        # categories = OrderedDict()
        # channels = GoodsChannel.objects.order_by('group_id', 'sequence')
        # for channel in channels:
        #     group_id = channel.group_id  # 当前组
        #
        #     if group_id not in categories:
        #         categories[group_id] = {'channels': [], 'sub_cats': []}
        #
        #     cat1 = channel.category  # 当前频道的类别
        #
        #     # 追加当前频道
        #     categories[group_id]['channels'].append({
        #         'id': cat1.id,
        #         'name': cat1.name,
        #         'url': channel.url
        #     })
        #     # 构建当前类别的子类别
        #     for cat2 in cat1.subs.all():
        #         cat2.sub_cats = []
        #         for cat3 in cat2.subs.all():
        #             cat2.sub_cats.append(cat3)
        #         categories[group_id]['sub_cats'].append(cat2)

        # 渲染模板的上下文

        categories = get_categories()

        contents = {}
        content_categories = ContentCategory.objects.all()
        for cat in content_categories:
            contents[cat.key] = cat.content_set.filter(status=True).order_by('sequence')

        context = {

            'categories': categories,
            'contents': contents,
        }
        return render(request, 'index.html', context)




# Create your views here.
